<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>详情页</title>
    <link rel="stylesheet" href="css/common.css">
    <link rel="stylesheet" href="css/blog_detail.css">

    <!-- 引入 editor.md 的依赖 -->
    <link rel="stylesheet" href="editor.md/css/editormd.min.css" />
    <script src="js/jquery.min.js"></script>
    <script src="editor.md/lib/marked.min.js"></script>
    <script src="editor.md/lib/prettify.min.js"></script>
    <script src="editor.md/editormd.js"></script>
</head>
<body>
    <!-- 这是导航栏 -->
    <div class="nav">
        <img src="./img/duck.jpg" alt="">
        <span>我的博客系统</span>
        <!-- 空白元素, 用来占位置 -->
        <div class="spacer"></div>
        <a href="blog_list.html">主页</a>
        <a href="blog_edit.html">写博客</a>
        <a href="logout">注销</a>
    </div>

    <div class="container">
        <!--左侧个人信息-->
        <div class="left">
            <!-- 表示整个用户信息区域. -->
            <div class="card">
                <img src="img/Pikachu.jpg" alt="">
                <h3>Pikachu</h3>
                <a href="https://github.com/">github 地址</a>
                <div class="counter">
                    <span>文章</span>
                    <span>分类</span>
                </div>
                <div class="counter">
                    <span>2</span>
                    <span>1</span>
                </div>
            </div>
        </div>

        <!-- 右侧内容详情 -->
        <div class="right">
            <!-- 使用这个 div 来包裹整个博客的内容详情 -->
            <div class="blog-content">
                <!-- 博客标题 -->
                <h3></h3>
                <!-- 博客的时间 -->
                <div class="date"></div>
                <!-- 博客正文内容 -->
                <div id="content" style="opacity: 70%"></div>
            </div>
        </div>
    </div>

    <script>
        //向服务器发送请求获取博客详情
        function getBlogDetail(){
            $.ajax({
                type:'get',
                // location.search 拿到了形如 '?blogId=5' 这样的一段内容
                url:'blog'+location.search,
                success:function(body){
                    // 根据 body 中的内容来构造页面
                    // 1. 构造博客标题
                    let h3=document.querySelector(".blog-content h3");
                    h3.innerHTML=body.title;
                    // 2. 构造博客发布时间
                    let dateDiv=document.querySelector(".date");
                    dateDiv.innerHTML=body.postTime;
                    // 3. 构造博客正文
                    //将原始的markdown字符串渲染
                    // 第一个参数对应id=content的html标签. 渲染后得到的html片段就会被放到这个标签下. 
                    editormd.markdownToHTML('content', {
                        //该参数对应被转化的markdown字符串
                        markdown: body.content
                    });
                }
            });
        }

        //调用获取博客详情页
        getBlogDetail();

        function getAuthorInfo(user){
            $.ajax({
                type:'get',
                url:'authorInfo'+location.search,
                success:function(body){
                    // 此处的 body, 就是服务器返回的 User 对象, 是文章的作者信息
                    if (body.username){
                        // 如果响应中的 username 存在, 就把这个值设置到页面上
                        changeUserName(body.username);
                        if(body.username==user.username){
                             // 作者和登录的用户是一个人, 则显示 "删除按钮"
                             let navDiv=document.querySelector('.nav');
                             let a=document.createElement('a');
                             a.href = 'blogDelete' + location.search;
                             a.innerHTML='删除';
                             //记得挂到dom树上
                             navDiv.appendChild(a);
                        }
                    }else{
                        console.log("获取作者信息失败! " + body.reason);
                    }
                },
            });
        }

        function getUserInfo(pageName){
            $.ajax({
                type:'get',
                url:'login',
                success:function(body){
                    if(body.userId&&body.userId>0){
                        // 登录成功
                        console.log("当前用户登录成功! 用户名: " + body.username);
                        // 在 getUserInfo 的回调函数中, 来调用获取作者信息
                        //采用回调函数的方式是因为避免因为ajax的异步执行导致getAuthorInfo
                        //可能比getUserInfo先执行完毕而获取信息失败
                        getAuthorInfo(body);
                    }else{
                        //登录失败
                        alert("当前您尚未登录! 请登录后再访问博客列表!");
                        location.assign('blog_login.HTML');
                    }
                },
                error:function(){
                    alert("当前您尚未登录! 请登录后再访问博客列表!");
                    location.assign('blog_login.HTML');
                }
            });
        }

    function changeUserName(username){
        let h3=document.querySelector('.card h3');
        h3.innerHTML=username;
    }
    getUserInfo('blog_detail.HTML');
    </script>
</body>
</html>